package cn.outsourcing.supermarket.service;

import cn.outsourcing.supermarket.common.PageResult;
import cn.outsourcing.supermarket.dto.backstage.BackstageShopCartDTO;
import cn.outsourcing.supermarket.dto.backstage.BackstageUserListDTO;
import cn.outsourcing.supermarket.vo.backstage.BackstageUserListVO;
import cn.outsourcing.supermarket.vo.backstage.MainInfoVO;
import cn.outsourcing.supermarket.vo.hiolabs.HiolabsCartVO;
import cn.outsourcing.supermarket.vo.hiolabs.HiolabsUserVO;

import java.util.Map;

/**
 * 后台首页服务
 *
 * @author gzkemays
 * @since 2021/10/20 16:56
 */
public interface BackstageHomeService {
  /**
   * 获取首页基本数据
   *
   * @return {@link Map}
   */
  Map<String, Long> getBaseData();

  /**
   * 商城数据统计
   *
   * @param pindex
   * @return 统计数据
   */
  MainInfoVO getMainData(Integer pindex);

  /**
   * 获取用户购物车
   *
   * @param dto 分页数据以及模糊查询
   * @return 用户购物车列表
   */
  PageResult<HiolabsCartVO> getCartShop(BackstageShopCartDTO dto);

  /**
   * 获取用户列表
   *
   * @param dto 分页数据以及模糊查询
   * @return 用户列表
   */
  Map<String, PageResult<BackstageUserListVO>> getUserList(BackstageUserListDTO dto);
}
